草庐IT

javascript promises、事件循环和作业队列

全部标签

javascript - IE8事件坐标

我似乎找不到在IE8中获取事件坐标的方法,它只会触发诸如“pageXundefined”、“clientXundefined”等错误。虽然它在其他浏览器中工作正常。这就是我想要做的:document.onmousemove=setcoord;functionsetcoord(e){varxxcoord=e.pageX||(e.clientX+document.body.scrollLeft);varyycoord=e.pageY||(e.clientY+document.body.scrollTop);}是否有任何解决方法来获取该鼠标位置? 最佳答案

javascript - Backbone.js - 自定义收集事件

我正在尝试为View绑定(bind)实现自定义集合事件。在我看来,我想做这样的事情:this.collection.on('available',this.available);并以某种方式在我的集合中触发此方法。假设我的集合中有一个方法可以设置特定的模型属性(可用),那么我如何才能触发绑定(bind)到该方法的所有View?这是否可能,并且能够将有问题的模型传递给View进行更新。提前感谢您的帮助,非常感谢:) 最佳答案 向Backbone添加新事件非常简单。您只需在要触发事件的对象上调用trigger方法。例如,假设您在集合的一

javascript - Chosen - 在 Chosen 应用于选择后绑定(bind)到更改事件

我目前正在使用jQueryChosen插件,并且运行良好。目前,我可以像这样绑定(bind)到Chosen的更改事件:$('#the_selector').chosen().change(...);这很好用。然而,我遇到过这样一种情况,在Chosen已经应用到select之后我需要绑定(bind)到change事件。有办法做到这一点吗? 最佳答案 我能够使用以下方式绑定(bind)到事件:$('#the_selector').on('change',function(){Dostuff});

javascript - 前后交替执行javascsript for循环

更新如下我正在尝试做的是以block为单位遍历数组,从一个block到另一个block交替迭代的方向。使困惑?我也是。例如,如果我想遍历一个包含25个元素的数组,但我想按以下顺序进行:0、1、2、3、4、9、8、7、6、5、10,11,12,13,14,19,18,17,16,15,20,21,22,23,24,最有效的方法是什么?我正在寻找可扩展的东西,因为我现在使用的数组实际上是225个元素,我想以15个元素block的形式遍历它,但这在某些时候可能会改变。到目前为止,我发现唯一可行的方法是将迭代顺序硬连接到第二个数组,然后以正常方式迭代它以获取原始数组的索引。但这很糟糕。任何帮助

Javascript 替换子/循环问题

我有一个非常奇怪的问题,我有一个forloop,它应该将所有具有“原始”类的div替换为具有"new"类的文本输入。当我运行循环时,它只会用输入替换所有其他div,但是如果我运行循环只是替换div的类而不是将标签更改为输入,它会执行每个div,而且不仅如此做每一个。这是我的循环代码,以及实时版本的链接:liveversionherefunctiondivChange(){vardivs=document.getElementsByTagName("div");for(vari=0;i 最佳答案 因为当div元素之一从DOM中删除时d

javascript - 如何在不使用循环的情况下在 javascript 选取框内查找选定元素?

我正在编写自己的拖放文件管理器。这包括一个javascript选取框,当它处于事件状态时会计算相交的元素(文件)并通过向它们添加类来选择它们。我目前在mousemove处理程序期间执行检查,遍历元素坐标数组并确定哪些元素与拖放选择框相交。函数目前看起来像这样:selectItems:function(voidindex){varself=this;varcoords=self.cache.selectioncoords;for(vari=0,len=self.cache.items.length;iitemcoords.x&&coords.topleft.yitemcoords.y){

javascript - 如何在 DOM 中的克隆/插入元素上触发事件?

我无法在我克隆/插入到DOM的元素上触发事件。检查fiddlehere.HTML:[THISISDIVA]CLICKTOCLONEDIVAjQuery:$('.A').on("click",null,function(){alert('DIVACLICK');});$('.B').on("click",null,function(){$('.A').clone().insertAfter('.A');});如果我点击一个克隆的DIVA,没有任何反应。如何在克隆的元素上触发事件? 最佳答案 我提出了两个解决方案。首先,在这种情况下更好

javascript - 鼠标悬停期间附加的跨度上的单击事件未触发

我将span附加到mouseover上的div,我只想触发对嵌套span的点击。感觉我已经尝试了所有的运气。http://jsfiddle.net/NHHSX/1/我找到了几个类似的,但不幸的是它们也没有成功。 最佳答案 将mouseover更改为mouseenter并使用事件委托(delegate)$('.container').on('mouseenter',function(e){$(this).append('Iwantthistobeclickable..');}).on('mouseleave',function(e){

javascript - Google Analytics 事件已取消

将GoogleAnalytics事件跟踪附加到页面上的超链接存在严重问题(如文档中所示)。例子:Example!当用户在GoogleChrome浏览器中点击这样的链接时,GA开始向服务器发送请求(事件跟踪),但浏览器也开始加载另一个页面(跟随链接)并且GA请求是被“取消”,所以事件没有到达GA服务器,也没有显示在统计信息中。我们该如何应对?例如,我们可以在事件到达GA服务器时延迟到链接页面的导航,但是如果GA请求是异步的并且我们在文档中找不到任何回调功能,我们如何才能做到这一点。有没有办法在执行推送命令时得到通知? 最佳答案 使用a

javascript - 使用 Hammer.js 的事件委托(delegate)

我如何在Hammer.js中使用纯JavaScript执行jQuery样式的事件委托(delegate)?例如:Hammer(document).on('tap','.item',function(){console.log('tapped')})这是直接可行的还是我必须自己进行授权? 最佳答案 受Jools回答的启发,这就是我的想法。我没有考虑纯JS解决方案——事实上,这是为与Backbone.View一起使用而设计的,但很容易适应其他情况。当它到达View的根元素(this.el)时,它将停止攀登节点树。从HammerJS事件标